﻿using System;
using System.Collections.Generic;

namespace McTools.SolutionExtender.DuplicateDetectionRulePlugin
{
    /// <summary>
    /// Class that represents a Duplicate detection rule with its condition
    /// rules
    /// </summary>
    public class DuplicateDetectionRule
    {
        #region Properties

        public Guid RecordId { get; set; }

        /// <summary>
        /// Gets or sets the base entity of the duplicate detection rule
        /// </summary>
        public string BaseEntityName { get; set; }

        /// <summary>
        /// Gets or sets the description of the duplicate detection rule
        /// </summary>
        public string Description { get; set; }

        /// <summary>
        /// Gets or sets the value that indicates if the duplicate detection
        /// rule is case sensitive
        /// </summary>
        public bool IsCaseSensitive { get; set; }

        /// <summary>
        /// Gets or sets the secondary entity of the duplicate detection rule
        /// </summary>
        public string MatchingEntityName { get; set; }

        /// <summary>
        /// Gets or sets the name of the duplicate detection rule
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// Gets or sets the value that indicates if the duplicate detection
        /// rule will exclude inactive records
        /// </summary>
        public bool ExcludeInactiveRecords { get; set; }

        public List<DuplicateDetectionCondition> Conditions { get; set; }

        #endregion Properties
    }
}
